home *** CD-ROM | disk | FTP | other *** search
/ Top 200 Programs / Top 200 Programs.iso / Bob8 / THOMPSON / LIBERTY / PRODUCT / LB14W.EXE / CALLDLL.BAS < prev    next >
BASIC Source File  |  1996-02-01  |  2KB  |  76 lines

  1.  
  2.  
  3.     'CALLDLL.BAS  -  Show how to run an external program, and how
  4.     'to minimize a window using API calls
  5.  
  6.     nomainwin
  7.  
  8.     WindowWidth = 232
  9.     WindowHeight = 195
  10.     UpperLeftX = 1000
  11.  
  12.     statictext #main.statictext1, "Please select an action:", 14, 16, 192, 20
  13.     button #main, "Run File Manager", [runFileManager], UL, 30, 46, 160, 25
  14.     button #main, "Beep", [beep], UL, 30, 81, 160, 25
  15.     button #main, "Quit", [quit], UL, 30, 116, 160, 25
  16.     open "Call DLL Example" for window_nf as #main
  17.     print #main, "trapclose [quit]"
  18.  
  19.  
  20. [main.inputLoop]   'wait here for input event
  21.     input aVar$
  22.     goto [main.inputLoop]
  23.  
  24.  
  25.  
  26. [runFileManager]   'Perform action for the button named 'Fileman'
  27.  
  28.     open "kernel" for dll as #kernel
  29.  
  30.     calldll #kernel, "WinExec", _
  31.         "winfile.exe" as ptr, _
  32.         _SW_SHOWNA as word, _
  33.         result as word
  34.  
  35.     close #kernel
  36.  
  37.     goto [main.inputLoop]
  38.  
  39.  
  40. [beep]   'Perform action for the button named 'beep'
  41.  
  42.     open "user" for dll as #user
  43.  
  44.     calldll #user, "MessageBeep", _
  45.         1 as word, _
  46.         result as void
  47.  
  48.     h = hwnd(#main)
  49.     calldll #user, "CloseWindow", _
  50.         h as word, _
  51.         result as void
  52.  
  53.     calldll #user, "SetWindowText", _
  54.         h as word, _
  55.         "I was minimized!" as ptr, _
  56.         result as void
  57.  
  58.     close #user
  59.  
  60.     goto [main.inputLoop]
  61.  
  62.  
  63. [quit]   'Perform action for the button named 'quit'
  64.  
  65.     print #main.statictext1, "OK. Closing..."
  66.  
  67.     'pause for a moment
  68.     t$ = time$()
  69.     while t$ = time$() : wend
  70.  
  71.     close #main
  72.  
  73.     end
  74.  
  75.  
  76.